Identifying a user remotely and completing a secure transaction with that user has always been a challenge.
Usernames, passwords, one-time passwords and biometrics require contact and cannot be used to perform remote transactions. For example, a merchant cannot send a coupon to a client in the store.
Magnetic cards, smart cards and RFID are costly and require a short distance from a specialized reader. They cannot change state based on user input, location or connection state. The merchant cannot send a coupon to a client in the store.
NFC uses very short range of 4 cm and has limited applications, mostly in the contact applications. It cannot enable a remote device to scan and get information. It cannot enable an application to scan and learn about its environment.
Bluetooth SPP is another service that is used to transfer data between devices. While Bluetooth SPP is not available on iOS devices, Bluetooth SPP service is rigid. It requires device pairing. When the SPP service is started, the device publishes the service name, however, it does not publish attributes associated with the service.
Thus, a need exists for a method that enables a mobile device to publish different states based on application state, location, connection state and user input, and to remotely identify the identity of the mobile device.